SQL Server এ ডেটাবেস তৈরি, ডেটা সংরক্ষণ এবং প্রক্রিয়া করার জন্য বিভিন্ন Data Types ব্যবহৃত হয়। প্রতিটি Data Type একটি নির্দিষ্ট ধরনের ডেটা সংরক্ষণ করতে সক্ষম, যেমন টেক্সট, নম্বর, তারিখ, বুলিয়ান (True/False) ইত্যাদি। সঠিক Data Type নির্বাচন করা খুবই গুরুত্বপূর্ণ, কারণ এটি ডেটাবেসের পারফরম্যান্স, নিরাপত্তা এবং স্থায়ীত্বের উপর প্রভাব ফেলে।
এখানে SQL Server-এ ব্যবহৃত বিভিন্ন Data Type এবং এগুলোর কনফিগারেশন ও ব্যবহার ব্যাখ্যা করা হলো।
1. Data Types এর শ্রেণীবিভাগ
SQL Server এ Data Types প্রধানত কয়েকটি ভাগে বিভক্ত:
1.1. Numeric Data Types
এই ধরনের ডেটা টাইপগুলি সংখ্যাসূচক মান সংরক্ষণ করে।
- INT: 4 বাইটের পূর্ণসংখ্যা সংরক্ষণ করে। এর পরিসীমা -2,147,483,648 থেকে 2,147,483,647 পর্যন্ত।
- BIGINT: 8 বাইটের পূর্ণসংখ্যা সংরক্ষণ করে। এর পরিসীমা অনেক বড়, প্রায় -9.2×10¹⁸ থেকে 9.2×10¹⁸ পর্যন্ত।
- SMALLINT: 2 বাইটের পূর্ণসংখ্যা সংরক্ষণ করে। এর পরিসীমা -32,768 থেকে 32,767 পর্যন্ত।
- TINYINT: 1 বাইটের পূর্ণসংখ্যা সংরক্ষণ করে, যার পরিসীমা 0 থেকে 255।
- DECIMAL(p, s) এবং NUMERIC(p, s): এগুলি নির্দিষ্ট দশমিক স্থান সহ সংখ্যা সংরক্ষণ করতে ব্যবহৃত হয়, যেখানে
pহল Precision (সর্বাধিক ডিজিটের সংখ্যা) এবংsহল Scale (ডেসিমাল পয়েন্টের পরে ডিজিটের সংখ্যা)। - FLOAT: ভাসমান দশমিক সংখ্যার জন্য ব্যবহৃত হয়। এর মান খুব বড় বা খুব ছোট সংখ্যার জন্য উপযুক্ত।
1.2. String Data Types
এই ধরনের ডেটা টাইপগুলি টেক্সট বা স্ট্রিং ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
- CHAR(n): একটি স্থির দৈর্ঘ্যের স্ট্রিং (যেমন 10 চরিত্র)। এই ধরনের ডেটা টাইপ ব্যবহৃত হয় যখন স্ট্রিংয়ের দৈর্ঘ্য সর্বদা নির্দিষ্ট হয়।
- VARCHAR(n): একটি ভেরিয়েবল দৈর্ঘ্যের স্ট্রিং (যেমন 50 চরিত্র)। যদি স্ট্রিং ছোট হয়, তাহলে কেবলমাত্র আসল দৈর্ঘ্য সঞ্চিত হয়, যা স্থান সাশ্রয়ী।
- TEXT: দীর্ঘ স্ট্রিং সংরক্ষণের জন্য ব্যবহৃত হয়, তবে এটি বর্তমান ভার্সনে VARCHAR(MAX) দিয়ে প্রতিস্থাপিত হয়েছে।
- NCHAR(n) এবং NVARCHAR(n): ইউনিকোড স্ট্রিং ডেটা সংরক্ষণ করে, যেখানে
nহল স্ট্রিংয়ের দৈর্ঘ্য। এটি বিভিন্ন ভাষার অক্ষর সঠিকভাবে সংরক্ষণ করতে সহায়তা করে।
1.3. Date and Time Data Types
এই ধরনের ডেটা টাইপগুলি তারিখ এবং সময় সংরক্ষণ করতে ব্যবহৃত হয়।
- DATE: কেবলমাত্র তারিখ সংরক্ষণ করে (যেমন 2024-11-30)।
- TIME: কেবলমাত্র সময় সংরক্ষণ করে (যেমন 14:30:00)।
- DATETIME: তারিখ এবং সময় উভয়ই সংরক্ষণ করে (যেমন 2024-11-30 14:30:00)।
- DATETIME2:
DATETIMEএর উন্নত সংস্করণ, যা আরো বড় পরিসীমা এবং মাইক্রোসেকেন্ড পর্যন্ত সঠিকতা প্রদান করে। - SMALLDATETIME: ছোট সময়ের পরিসীমা এবং কম সঠিকতা, কিন্তু এটি কম জায়গা নেয়।
1.4. Boolean Data Types
বুলিয়ান ডেটা টাইপটি সাধারণত সত্য (True) বা মিথ্যা (False) মান ধারণ করে।
- BIT: 0 (False) অথবা 1 (True) এর মান ধারণ করে।
BITডেটা টাইপের জন্য 1 বা 0 এর মান ব্যবহৃত হয়।
1.5. Binary Data Types
এই ধরনের ডেটা টাইপগুলি বাইনারি ডেটা (যেমন ইমেজ, ফাইল) সংরক্ষণ করতে ব্যবহৃত হয়।
- BINARY(n): নির্দিষ্ট দৈর্ঘ্যের বাইনারি ডেটা সংরক্ষণ করে।
- VARBINARY(n): ভেরিয়েবল দৈর্ঘ্যের বাইনারি ডেটা সংরক্ষণ করে। এটি সাধারণত ফাইল সংরক্ষণ বা ইমেজ ডেটা ধারণ করতে ব্যবহৃত হয়।
- IMAGE: বৃহৎ বাইনারি ডেটা সংরক্ষণ করে, তবে বর্তমানে এটি VARBINARY(MAX) দ্বারা প্রতিস্থাপিত হয়েছে।
2. Data Types কনফিগারেশন
SQL Server-এ সঠিক Data Type নির্বাচন করার সময়, কিছু গুরুত্বপূর্ণ বিষয় বিবেচনা করা উচিত:
2.1. Data Type নির্বাচন
- পারফরম্যান্স: সঠিক Data Type নির্বাচন করলে পারফরম্যান্স উন্নত হয়, কারণ এটি কম জায়গা নেয় এবং দ্রুত ডেটা প্রক্রিয়াকরণ করতে সহায়তা করে।
- স্টোরেজ: কিছু ডেটা টাইপ বড় আকারের স্টোরেজ প্রয়োজন হতে পারে, যেমন TEXT, IMAGE, BIGINT ইত্যাদি। এর ফলে, স্টোরেজ ব্যবস্থাপনায় সমস্যা হতে পারে।
- ডেটার বৈশিষ্ট্য: যদি ডেটা সংখ্যা হয়ে থাকে, তবে INT, FLOAT বা DECIMAL ব্যবহার করা উচিত। যদি স্ট্রিং হয়, তবে VARCHAR বা TEXT উপযুক্ত।
2.2. Data Type কনফিগারেশনের উদাহরণ
INT টাইপের কলাম তৈরি করা:
CREATE TABLE Employee ( EmployeeID INT, Name VARCHAR(100) );DECIMAL টাইপের কলাম তৈরি করা:
CREATE TABLE Product ( ProductID INT, ProductName VARCHAR(100), Price DECIMAL(10, 2) -- 10 ডিজিটের মধ্যে 2 ডিজিট দশমিক স্থান );DATETIME টাইপের কলাম তৈরি করা:
CREATE TABLE OrderDetails ( OrderID INT, OrderDate DATETIME );
2.3. Data Types এর আকার পরিবর্তন
কিছু ডেটা টাইপের আকার পরিবর্তন করা সম্ভব, যেমন:
VARCHAR এর আকার পরিবর্তন করা:
ALTER TABLE Employee ALTER COLUMN Name VARCHAR(200);DECIMAL এর স্কেল পরিবর্তন:
ALTER TABLE Product ALTER COLUMN Price DECIMAL(12, 4);
3. Data Types এর গুরুত্ব
SQL Server-এ সঠিক Data Type ব্যবহার করা গুরুত্বপূর্ণ, কারণ এটি:
- স্টোরেজ অপটিমাইজেশন: সঠিক Data Type ব্যবহার করলে ডেটাবেসের স্টোরেজ পরিমাণ কমে।
- পারফরম্যান্স উন্নয়ন: কম জায়গা নেওয়া ডেটা টাইপ ব্যবহারের ফলে সঞ্চালন এবং ডেটা প্রক্রিয়া দ্রুত হয়।
- ডেটা সঠিকতা: সঠিক ডেটা টাইপ ডেটার সঠিকতা নিশ্চিত করে, যেমন একটি নাম্বার ফিল্ডে টেক্সট ডেটা সংরক্ষণ করা সম্ভব নয়।
সারাংশ
SQL Server-এ Data Types নির্বাচন এবং কনফিগারেশন অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি আপনার ডেটাবেসের পারফরম্যান্স, সঠিকতা এবং স্টোরেজ ব্যবস্থাপনাকে প্রভাবিত করে। সঠিক Data Type নির্বাচন করে আপনি দ্রুত ডেটা প্রক্রিয়াকরণ এবং স্টোরেজ অপটিমাইজেশন নিশ্চিত করতে পারেন।
Read more